import { Injectable } from '@angular/core';
import { Todo } from './todolist.model';
import { BehaviorSubject, Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class TodoService {


  constructor() {}

  private todos: Todo[] = [];
  private todosSubject$ = new BehaviorSubject<Todo[]>([]);

  getTodos(): Observable<Todo[]> {
    return this.todosSubject$.asObservable();
  }

  addTodo(todo: Todo) {
    this.todos.push(todo);
    this.todosSubject$.next(this.todos);
  }

  removeTodo(todo: Todo) {
    this.todos = this.todos.filter((t) => t.id !== todo.id);
    this.todosSubject$.next(this.todos);
  }

}
